Skip to content

Migrate Redis session repositories from DisposableBean to SmartLifecycle #3460

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: 3.3.x
Choose a base branch
from

Conversation

seung-hun-h
Copy link

This PR migrates RedisIndexedSessionRepository and ReactiveRedisIndexedSessionRepository from DisposableBean to SmartLifecycle to resolve compatibility issues with Spring Data Redis connection factories. The change ensures proper shutdown ordering and prevents Redis connection errors during application shutdown.


Changes

  • Replace DisposableBean with SmartLifecycle in Redis session repositories
  • Add configurable lifecycle phase (default: Integer.MAX_VALUE / 2)
  • Add unit tests for lifecycle behavior

Related Issue

Fixes #3435

Replace DisposableBean with SmartLifecycle in RedisIndexedSessionRepository
and ReactiveRedisIndexedSessionRepository to improve compatibility with
Spring Data Redis connection factories.

Fixes spring-projects#3435

Signed-off-by: seung-hun-h <[email protected]>
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Aug 13, 2025
@seung-hun-h seung-hun-h force-pushed the feature/redis-disposalbean-to-lifecycle-3.3.x branch from 1d5b7d4 to cdca5cb Compare August 13, 2025 05:31
@seung-hun-h seung-hun-h changed the base branch from main to 3.3.x August 13, 2025 05:32
@seung-hun-h seung-hun-h force-pushed the feature/redis-disposalbean-to-lifecycle-3.3.x branch from 6a9df4b to cdca5cb Compare August 13, 2025 12:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: waiting-for-triage An issue we've not yet triaged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Spring Session Redis should use Lifecycle instead of DisposableBean
2 participants